package day1107.demo04;

/**
 * @program: qy158
 * @description:
 * @author: 闫克起2
 * @create: 2022-11-07 10:21
 * 1. 单例模式分为两种: 第一种 饿汉式   第二种  懒汉式
 * 2. 某个类要想成为单例类，必须满足如下步骤：
 * （1）构造方法必须私有化---外界无法直接创建该类的对象
 * (2)声明一个静态的本类对象
 * (3)提供一个静态方法 供外界获取该类对象。
 **/
public class Singleton2 {

    //第一步
    private Singleton2() {
    }

    //声明一个静态的本类对象----懒汉式
    private static Singleton2 singleton;

    //提供一个静态方法返回本类的对象
    public static Singleton2 getInstance() {
        synchronized (Singleton2.class) {
            if (singleton == null) {
                singleton = new Singleton2();
            }
            return singleton;
        }
    }

    public void show() {
        System.out.println("~~~~~~~~~~~~~~~~~~~~~show方法~~~~~~~~~~~~~~~");
    }
}
